package main //必须有一个main包

import "fmt" //导入包后, 必须要使用

func main() {
	//变量,程序运行期间,可以改变的量

	//1.声明格式 var 变量名 类型,  变量声明了,必须要使用
	//2.只是声明没有初始化的变量,默认值是0
	//3.同一个大括号里面({}),声明的变量名是唯一的
	var a int
	fmt.Println("只声明的: a=", a)

	//4.可以同时声明多个变量 var b,c int
	a = 10 //变量的赋值
	fmt.Println("赋值10后的变量: a=", a)

	//5.变量的初始化, 声明变量时, 同时赋值
	var b int = 10 //初始化,声明变量时,同时赋值 (一步到位)
	b = 20         //赋值, 先声明, 后赋值
	fmt.Println("初始化后赋值的: b=", b)

	//6.自动推导类型, 必须初始化,通过初始化的值确定类型
	c := 30 //这种写法比较常见,以后尽量都这样写,节省代码量
	var d = "开心"
	// %T打印变量所属的类型
	fmt.Printf("c type is %T\n", c)
	fmt.Printf("d type is %T\n", d)

}
